package com.lsyw.intergrate.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lsyw.intergrate.common.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author 刘磊
 * @since 2023-04-21
 */
@Data
@Accessors(chain = true)

public class SysUser extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

//    /**
//     * 主键
//     */
//    @ApiModelProperty(value = "主键")
//    private String id;

    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名")
    private String name;

    /**
     * 密码
     */
    @ApiModelProperty(value = "密码")
    private String password;

    /**
     * 盐
     */
    @ApiModelProperty(value = "盐")
    private String salt;

    /**
     * 电话
     */
    @ApiModelProperty(value = "电话")
    private String phone;

    /**
     * 状态 0 离职 1在职 2 退休
     */
    @ApiModelProperty(value = "状态 0 离职 1在职 2 退休")
    private String jyzt;

    /**
     * 所属单位编码
     */
    @ApiModelProperty(value = "所属单位编码")
    private String ssdwbm;

    /**
     * 手机短号
     */
    @ApiModelProperty(value = " 手机短号")
    private String sjdh;

    /**
     * 性别 1女 0 男',
     */
    @ApiModelProperty(value = "性别 1女 0 男',")
    private Integer xb;

    /**
     * 身份证
     */
    @ApiModelProperty(value = "身份证")
    private String idCard;

    /**
     * 部门id
     */
    @ApiModelProperty(value = "部门id")
    private String deptId;
    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    private String projectId;
    /**
     * 项目名称
     */
    @ApiModelProperty(value = "项目名称")
    @TableField(exist = false)
    private String projectName;

    private Integer type;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Integer sort;

    /**
     * 头像
     */
    @ApiModelProperty(value = "头像")
    private String photo;

    /**
     * 允许登录的客户端类型 0电脑、1手机、2电脑手机
     */
    @ApiModelProperty(value = "允许登录的客户端类型 0电脑、1手机、2电脑手机")
    private Integer clientType;

    /**
     * 创建人id
     */
    @ApiModelProperty(value = "创建人id")
    private String creatorId;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;
    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedTime;
    /**
     * 更新人id
     */
    @ApiModelProperty(value = "更新人id")
    private String updatedUser;

    /**
     * 是否删除 0.否 1.是
     */
    @ApiModelProperty(value = "是否删除 0.否 1.是")
    private Integer isDelete;

    /**
     * 部门
     */
    @ApiModelProperty(value = "部门")
    @TableField(exist = false)
    private UnopDept dept;

    /**
     * 所属院区(1:南院区；2：北院区）
     */
    @ApiModelProperty(value = "所属院区(1:南院区；2：北院区）")
    @TableField(exist = false)
    private String hospitalAreaName;

    /**
     * 部门名称
     */
    @ApiModelProperty(value = "部门名称")
    @TableField(exist = false)
    private String deptName;

    @ApiModelProperty(value = "岗位")
    private String gw;

    @ApiModelProperty(value = "角色名称")
    @TableField(exist = false)
    private List<String> roleNames;

}
